// pages/orderDetail/orderDetail.js
const app = getApp()

Page({
  data: {
    planId: '',
    plan: null,
    loading: true
  },

  onLoad(options) {
    if (options.id) {
      this.setData({ planId: options.id })
      this.loadPlanDetail()
    }
  },

  // 加载计划详情
  loadPlanDetail() {
    const db = wx.cloud.database()
    db.collection('plans')
      .doc(this.data.planId)
      .get()
      .then(res => {
        this.setData({
          plan: res.data,
          loading: false
        })
      })
      .catch(err => {
        console.error('加载计划详情失败：', err)
        this.setData({ loading: false })
        wx.showToast({
          title: '加载失败',
          icon: 'none'
        })
      })
  },

  // 标记完成
  onComplete() {
    wx.showModal({
      title: '确认完成',
      content: '确定该计划已完成执行吗？',
      success: res => {
        if (res.confirm) {
          this.markCompleted()
        }
      }
    })
  },

  // 执行标记完成
  markCompleted() {
    const db = wx.cloud.database()
    db.collection('plans')
      .doc(this.data.planId)
      .update({
        data: {
          status: 'completed',
          completeTime: db.serverDate()
        }
      })
      .then(() => {
        wx.showToast({
          title: '操作成功',
          icon: 'success'
        })
        this.loadPlanDetail()
      })
      .catch(err => {
        console.error('操作失败：', err)
        wx.showToast({
          title: '操作失败',
          icon: 'none'
        })
      })
  },

  // 删除计划
  onDelete() {
    wx.showModal({
      title: '确认删除',
      content: '确定要删除该计划吗？',
      success: res => {
        if (res.confirm) {
          this.deletePlan()
        }
      }
    })
  },

  // 执行删除
  deletePlan() {
    const db = wx.cloud.database()
    db.collection('plans')
      .doc(this.data.planId)
      .remove()
      .then(() => {
        wx.showToast({
          title: '删除成功',
          icon: 'success'
        })
        setTimeout(() => {
          wx.navigateBack()
        }, 1500)
      })
      .catch(err => {
        console.error('删除失败：', err)
        wx.showToast({
          title: '删除失败',
          icon: 'none'
        })
      })
  }
})